import axios from "axios";
import { Toast  } from "vant";
import store from "@/store";
axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8';
import CryptoJS from "crypto-js"; // 签名
// 签名相关信息
const signatureKey = "35e4264138ceaaeeb37480d60c41a6a4"; // 示例,具体由后端提供
// 生成签名
// console.log(132,process.env)
export const generSign = (val) =>
    CryptoJS.HmacSHA256(val, signatureKey).toString() ?? "";
// 创建axios实例
const service = axios.create({
    // axios中请求配置有baseURL选项，表示请求URL公共部分
    baseURL: process.env.VUE_APP_BASE_API,
    // 超时
    timeout: 10000
})

// 请求拦截器
service.interceptors.request.use(config => {
    if (!config.headers.token) {
        // config.headers["token"] = store.state.userInfo?.token;
    }
    // ...其他请求头配置
    // 处理签名 如果需要配置签名
    // const data = config.data;
    // if (!config.headers.sign) {
    //     config.headers["sign"] = generSign(JSON.stringify(data)); // 目前只支持POST请求
    // }
    return config;
})


// 响应拦截器
service.interceptors.response.use((response) => {
   
    if (response.data?.code == 100) {
        return response.data;
    } else if (response.data.code !== 200) {
        Toast(response.data.message||"我是成功的");
        return response.data;
    }
    return response.data;
});

export default service;